/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.torresquintero.oncologos.common.vista;

import com.torresquintero.oncologos.common.factory.LogginManager;

import java.util.ArrayList;
import java.util.Arrays;
import javax.swing.JButton;

/**
 *
 * @author Camilo Andres
 */
public class BotonOncologos extends JButton {

    /**
     * Lista que indica los roles para los cuales
     * estara activo este menu.
     */
    private ArrayList<String> roles;
    private String nombreComponente;

    /**
     * Metodo que le asigna un nmobre al componente y extrae sus roles del
     * archivo de propiedades.
     * @param nombreComponente 
     */
    public void setNombreComponente(String nombreComponente) {
        this.nombreComponente = nombreComponente;
        roles = new ArrayList<String>();
        roles.addAll(Arrays.asList(RolesComponentsManager.getRolesComp(nombreComponente)));
    }

    /**
     * Constructor.
     */
    public BotonOncologos() {
        super();
        roles = new ArrayList<String>();



    }

    /**
     * MEtodo para agregar un rol a este Menu.
     * @param roles arreglo con los roles a asignar. 
     */
    public void agregarRoles(String... roles) {

        this.roles.addAll(Arrays.asList(roles));
    }

    @Override
    /**
     * Este metodo le permite a la opcion de menu aparecer en la GUI
     * si alguno de sus roles esta en la session.
     */
    public boolean isVisible() {

//        boolean noVisible=true;
//      
//            
//           String[] rolesActivos = LogginManager.getRolesActivos();
//          
//            for (String rol : rolesActivos) {
//                if (roles.contains(rol)) {
//                    return true;
//                }else{
//                    noVisible=false;
//                }
//            }
//            
//            if(!noVisible){
//                return false;
//            }
//           
        
        return true;

    }
}
